package vd


type Vector struct {
	X  float64
	Y  float64
}

type Shape interface { Enum(Shape) }

func (Point) Enum(Shape) {}
type Point struct {
	Name        string
	Coordinate  Vector
}
func (PointGroup) Enum(Shape) {}
type PointGroup struct {
	Points  [] Point
}
func (Circle) Enum(Shape) {}
type Circle struct {
	Center  Vector
	Radius  float64
}
func (Empty) Enum(Shape) {}
type Empty struct {}

var sampleOptions = GoStructOptions {
	Records:    [] interface{} {
		Vector {},
		Point {},
		PointGroup {},
		Circle {},
		Empty {},
	},
	Validators: [] interface{} {},
	Adapters:   [] interface{} {},
}


